using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Marlimer.Common;
using Marlimer.Common.Entidades; 
using Marlimer.Logical.Almacen; 

namespace Marlimer.Logistico.Consultas
{
    public partial class frm_ConsultaProducto : Form
    {
        List<itemsGrilla> itemsGrid = new List<itemsGrilla>();
        //InfoClienteEntrega client = new InfoClienteEntrega();
        lalm_Producto lalm_producto = new lalm_Producto();

        int ccod_prod = 0;

        public frm_ConsultaProducto()
        {
            InitializeComponent();
        }

        public int getProducto()
        {
            
            ConfigurarRejilla();
            //cargar estructura de grilla;
            itemsGrid.Add(new itemsGrilla("ccod_prod", "Codigo", 60, true, true, DataGridViewContentAlignment.MiddleRight));
            itemsGrid.Add(new itemsGrilla("cdes_prod", "Descripcion", 250, true, true, DataGridViewContentAlignment.MiddleLeft));
            itemsGrid.Add(new itemsGrilla("cabre_unimed", "Unidad", 70, true, true, DataGridViewContentAlignment.MiddleLeft));
            itemsGrid.Add(new itemsGrilla("cdes_lin", "Linea", 100, true, true, DataGridViewContentAlignment.MiddleLeft));
            itemsGrid.Add(new itemsGrilla("cstatus", "Estado", 50, true, true, DataGridViewContentAlignment.MiddleCenter));
            //cargar la grilla
            this.ShowDialog();

            return ccod_prod;
        }

        private void ConfigurarRejilla()
        {
            gridResultados.Columns.Clear();
            gridResultados.Columns.Add(Util.createDataGridTextColumn("Codigo", 60, true, true, DataGridViewContentAlignment.MiddleRight));
            gridResultados.Columns.Add(Util.createDataGridTextColumn("Descripcion", 250, true, true, DataGridViewContentAlignment.MiddleLeft));
            gridResultados.Columns.Add(Util.createDataGridTextColumn("Unidad", 70, true, true, DataGridViewContentAlignment.MiddleLeft));
            gridResultados.Columns.Add(Util.createDataGridTextColumn("Linea", 100, true, true, DataGridViewContentAlignment.MiddleLeft));
            gridResultados.Columns.Add(Util.createDataGridTextColumn("Estado", 50, true, true, DataGridViewContentAlignment.MiddleCenter));
            //gridResultados.AllowUserToResizeColumns = false;
            gridResultados.AllowUserToResizeRows = false;
            gridResultados.RowHeadersVisible = false;
            gridResultados.AllowUserToAddRows = false;
            gridResultados.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        }

        private void gridResultados_DoubleClick(object sender, EventArgs e)
        {
            //validamos de que este seleccionado un registro.
            if (gridResultados.CurrentRow != null)
            {
                //verificar que tenga codigo de producto columna 0
                ccod_prod = Convert.ToInt32(gridResultados.CurrentRow.Cells["ccod_prod"].Value); 
                this.Close(); 
            }
        }

        private void txtDescripcion_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.KeyChar = Convert.ToChar(e.KeyChar.ToString().ToUpper());
            if (Convert.ToByte(e.KeyChar) == 13)
            {
                gridResultados.DataSource = lalm_producto.getBuscarProducto(0, txtDescripcion.Text.Trim(), 0, 0, 0, 0, 1);
                Util.setRejillaColumns(gridResultados, itemsGrid);
            }
            else
            {
                e.Handled = Util.validaTecla(e.KeyChar, "Direccion", ((TextBox)sender).Text, true);
            }
            
        }

        private void gridResultados_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
             //validar el formato para anulados
            if (Convert.ToString(gridResultados.Rows[e.RowIndex].Cells["cstatus"].Value) == "D")
            {
                gridResultados.Rows[e.RowIndex].DefaultCellStyle.ForeColor = System.Drawing.Color.Red;  
            }
        }


    }
}